package cn.mafangui.hotel.mapper;

import cn.mafangui.hotel.entity.GarageStall;
import com.sun.istack.internal.NotNull;
import io.swagger.models.auth.In;
import org.apache.ibatis.annotations.Param;
import org.springframework.validation.beanvalidation.SpringValidatorAdapter;

import java.util.List;

/**
 * @author: kalpa
 * @date: 2022/3/18
 * @version: 1.0
 * Description: 车库车位信息表
 */
public interface GarageStallMapper {
    /**
     * 增加车位信息
     * @param garageStall
     * @return
     */
    int add(GarageStall garageStall);

    /**
     * 查询车位信息 - 根据所有已有的属性来查询
     */
    List<GarageStall> query(GarageStall garageStall);

    /**
     * 修改车位信息
     * @param garageStall
     * @return
     */
    int update(GarageStall garageStall);

    /**
     * 删除车位信息
     * @param id
     * @return
     */
    int delete(@Param("id") Integer id);

    /**
     * 修改车位的状态 - 0 空位 1 已停
     * @param id
     * @param status
     * @return
     */
    int updateStatus(@NotNull @Param("id") Integer id,@NotNull @Param("status")Integer status);


    /**
     * 得到所有的车位信息
     * @return
     */
    List<GarageStall> getAll();

    /**
     * 得到所有空闲的车位信息
     * @return
     */
    List<GarageStall> getAllFree();

    /**
     * 根据id查询到车位信息
     * @param id
     * @return
     */
    GarageStall selectById(@Param("id")Integer id);

}
